﻿using System;
using System.Collections.Generic;
using BlobNet.Base;
using BlobNet.Base.Collections;

namespace BlobNet.FunctionalTests.Dummy
{
    [Serializable]
    internal class DummyBlobPartA : BlobPart
    {
        public DummyBlobPartA(BlobDomain blobDomain) : base(blobDomain, Guid.NewGuid())
        {
        }

        public DummyBlobPartA()
            : base(Guid.NewGuid())
        {
        }

        public string StringProperty
        {
            get { return GetStatusValue<string>("StringProperty"); }
            set { SetStatusValue("StringProperty", value); }
        }

        public int IntProperty
        {
            get { return GetStatusValue<int>("IntProperty"); }
            set { SetStatusValue("IntProperty", value); }
        }

      

        public BlobList<DummyBlobPartB> CollectionProperty
        {
            get { return GetStatusValue<BlobList<DummyBlobPartB>>("CollectionProperty"); }
            set { SetStatusValue("CollectionProperty", value); }
        }

        public DummyBlobPartB BlobPartB
        {
            get { return GetStatusValue<DummyBlobPartB>("BlobPartB"); }
            set { SetStatusValue("BlobPartB", value); }
        } 
    }
}